<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2021/4/25
 * Time: 20:42
 */
//去重 stauts1 代表审核通过了
$data=array(
    array('name'=>'zhangsan','info'=>array(
    'age'=>18,
    'status'=>1
   )),
    array('name'=>'zhangsan','info'=>array(
        'age'=>18,
        'status'=>0
    )),
    array('name'=>'lisi','info'=>array(
        'age'=>19,
        'status'=>1
    )),
    array('name'=>'lisi','info'=>array(
        'age'=>19,
        'status'=>0
    )),
    array('name'=>'wamgwu2','info'=>array(
        'age'=>19,
        'status'=>1
    )),
    array('name'=>'wamgwu3','info'=>array(
        'age'=>19,
        'status'=>1
    )),
    array('name'=>'wamgwu3','info'=>array(
        'age'=>19,
        'status'=>0
    )),
    // array('name'=>'wamgwu4','info'=>array(
    //     'age'=>19,
    //     'status'=>0
    // )),
    // array('name'=>'wamgwu4','info'=>array(
    //     'age'=>19,
    //     'status'=>1
    // )),
    array('name'=>'wamgwu5','info'=>array(
        'age'=>19,
        'status'=>0
    )),
    array('name'=>'wamgwu5','info'=>array(
        'age'=>19,
        'status'=>1
    )),
    array('name'=>'wamgwu6','info'=>array(
        'age'=>19,
        'status'=>0
    )),
    array('name'=>'wamgwu6','info'=>array(
        'age'=>19,
        'status'=>1
    )),
    array('name'=>'wamgwu7','info'=>array(
        'age'=>19,
        'status'=>0
    )),
    array('name'=>'wamgwu7','info'=>array(
        'age'=>19,
        'status'=>1
    )),
);
$newarray=array();
function second_array_unique_bykey($arr, $key){
$tmp_arr = array();
foreach($arr as $k => $v)
{

    if(in_array($v[$key], $tmp_arr) &&$v['info']['status']==0)   //搜索$v[$key]是否在$tmp_arr数组中存在，若存在返回true
    {
        unset($arr[$k]); //销毁一个变量  如果$tmp_arr中已存在相同的值就删除该值
    }
    else {
        $tmp_arr[$k] = $v[$key];  //将不同的值放在该数组中保存
    }
}
//ksort($arr); //ksort函数对数组进行排序(保留原键值key)  sort为不保留key值
return $arr;
}

$res=second_array_unique_bykey($data,'name');
echo "<pre>";
var_dump($res);
echo "</pre>";
die();
// function arrayUniqueness($arr,$key){
//         $res = array();
//         foreach ($arr as $value) {
//             //查看有没有重复项
//             if(isset($res[$value[$key]])){
//                 //有：销毁
//                 if($res[$value[$key]]['info']['status']==0){
//                     var_dump($value[$key]);
//                    // unset($value[$key]);
//                 }
//             }
//             else{
//                 $res[$value[$key]] = $value;
//             }
//         }
//         return $res;
//     }


// $res=arrayUniqueness($data,'name');
// echo "<pre>";
// print_r($res);
// echo "</pre>";
// die();
// function array_unique_fb($array2D) {
//     foreach ($array2D as $v) {
//         $v = join(",", $v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
//
//         $temp[] = $v;
//
//     }
//     $temp = array_unique($temp);//去掉重复的字符串,也就是重复的一维数组
//     foreach ($temp as $k => $v) {
//         $temp[$k] = explode(",", $v);//再将拆开的数组重新组装
//     }
//     return $temp;
// }
// $bb = array_unique_fb($aa);

// $tmp = [];
// $data_new = [];
// foreach($data as $item => $value) {
//     $str = $value['name'];
//     if(){
//
//     }
//     if(in_array($str,$tmp))
//         continue;
//     $data_new[] = $value;
//     $tmp[] = $str;
// }


// foreach($data as $item => $value) {
//     $str = $value['name'];
//     if(in_array($str,$tmp))
//         if($info['status']==0){
//             unset($data['item']);
//         }
//         continue;
//     $data_new[] = $value;
//     $tmp[] = $str;
// }
// echo "<pre>";
// var_dump( $data_new);
// echo "</pre>";
//     // //没有状态为1 的，留一个状态为0的，如果有状态1的，留状态为1的
//             $data_copy = $data;
//             $pathology_num = [];
//             foreach($data as $key => $value){
//                 var_dump($value);
//                 // echo "<pre>";
//                 //
//                 // var_dump($pathology_num);
//                 // echo "</pre>";
//                 if(in_array($value['name'],$pathology_num)) {
//                     //里面有1则不删除其他则删除\
//                     if($value['info']['status']==0){
//                         echo "<pre>";
//                        var_dump($value);
//                         echo "</pre>";
//                        // unset($data[$key]);
//
//                     }
//                     // continue;
//                 }
//                 foreach($data_copy as $k => $v) {
//                     if($value['name'] == $v['name']&& $value <> $v) {
//                      //   $data[$key][] = $v;
//                         $pathology_num[] = $value['name'];
//                     }
//                 }
   //         }

            //二维数组如何去重？
$data_copy = $data;
$pathology_num = [];
foreach($data as $key => $value){
    if(in_array($value['name'],$pathology_num)) {
        if($value['info']['status']==0){
            unset($data[$key]);
        }

        continue;
    }
    foreach($data_copy as $k => $v) {
        if($value['name'] == $v['name']) {
            $pathology_num[] = $value['name'];
        }
    }

}
echo "<pre>";
var_dump($data);
echo "</pre>";
//
//             echo"<pre>";
//             print_r($data);
// echo"</pre>";
